Web Services is considered as the emerging technology that enables business-to-business automation. Web services has been described as a software component that employ one or more of the following technologies—SOAP, WSDL and UDDI—to perform distributed computing. Use of any of the basic technologies—SOAP, WSDL or UDDI—constitutes a Web service. Use of all of them is not required.
The three protocols introduced in the above description are: (1) SOAP, Simple Object Access Protocol, (2) WSDL, Web Services Description Language, and (3) UDDI, Universal Description, Discovery and Integration.
Extensible Markup Language forms the basis of these three fundamental technologies. XML is the acronym for Extensible Markup Language. XML is a simple, text based data description language. The extensible nature of this markup language has resulted in its tremendous growth and adoption in the Information Technology industry. SOAP, WSDL and UDDI use extensions of XML to provide the layers of Web Services. In the following paragraphs, we provide a description of SOAP, WSDL and UDDI:
SOAP, Simple Object Access Protocol. SOAP is an acronym for Simple Object Access Protocol. SOAP is a protocol based on XML for exchanging information in a decentralized distributed environment among the communicating applications.
WSDL, Web Services Description Language. WSDL is an acronym for Web Services Description Language. WSDL is an XML document that contains the description of Web Services as well as the means of accessing them. The descriptions of Web Services are entered in the WSDL document with the help of seven predefined XML markup tags.
UDDI, Universal Description, Discovery and Integration. UDDI is an acronym for Universal Description, Discovery and Integration. UDDI is an XML based specification for establishing business registries that store business and services related information. These business registries help other businesses and individuals to query and search for required information. Registries thus promote business-to-business among interested parties.
SOAP and Its Relevance. SOAP has been designed to be independent of transport protocol. It can be transported over HTTP, SMTP, FTP, etc. In the present web services environment, applications communicating using SOAP most often use HTTP as the transport protocol. This is due to the fact that HTTP is the preferred transport protocol in the web environment.
In the Web Services scenario it is possible that the communicating applications could be developed using different programming languages, deployed on disparate systems, and running on different operating environments. These applications interchange information in SOAP format. SOAP, therefore may be used to provide a cornerstone of interoperability. The communicating applications participating in the Web Services environment therefore require a facility to convert the application specific information to SOAP format and vice versa.
In conventional systems, the communicating applications in the Web Services scenario use “software tools” to convert the information to SOAP format. Apache Axis from Apache.org, SOAP Toolkit from Microsoft, Web Services Toolkit from IBM, and JWSDP from Sun are some examples of software tools relating to SOAP. Web Services applications may interact with these software tools to generate SOAP. The SOAP information is then transported using a transport protocol such as HTTP. This SOAP message is received by the target system and the software tools at the target system may then convert the SOAP to the format required by the target application.
The use of the SOAP protocol may be processing intensive. In certain versions of the SOAP protocol, binary and other compressed application specific formats may be required to be converted into long text strings for transmission in a platform independent SOAP format, which adds to the processing overhead. This aside, SOAP may require different software toolkits and implementations on different platforms. For instance, a SOAP toolkit from one software vendor may convert SOAP to Java specific formats, while another toolkit may convert SOAP to C++ specific formats. In large heterogeneous networks, it is difficult to ensure interoperability and widespread enablement of web services with different toolkits being used across a wide variety of platforms and applications. What is desired is a device and method for implementing SOAP and/or other protocols with improved processing efficiency and in a manner that allows consistent widespread deployment of the same implementation in different systems across a large heterogeneous network.